home *** CD-ROM | disk | FTP | other *** search
/ Aminet 33 / Aminet 33 - October 1999.iso / Aminet / docs / misc / amigapl.9809.lzh / log.9809 / text0116.txt < prev    next >
Encoding:
Text File  |  1998-10-01  |  1.6 KB  |  42 lines

  1. Cze¶æ,
  2.  
  3. Dnia 03-Wrz-98, Marek Jablonski rzek³ co nastêpuje:
  4.  
  5. > To ma byæ animacja. Na razie jest tak, ¿e blitujê (co za wyra¿enie;) raz
  6. do
  7. > jednego a raz do drugiego rastportu i robiê ScrollVPort(). Z grubsza to
  8. > nawet mog³oby tak zostaæ gdyby nie by³o wolne bo te blity s± du¿e -
  9. 400x300
  10. > mniej wiêcej. Mi³ku? ;-)
  11.  
  12. Proponujê nastêpuj±ce rozwi±zanie:
  13.  
  14. 1. Wczytaæ dane zarówno obrazka jak i maski za pomoc± modu³ów, ze których
  15. korzysta³e¶ dotychczas.
  16. 2. Zarezerwowaæ nowy BitMap funkcj± AllocBitMap z flag± BMF_MINPLANES,
  17. podaj±c jako "friend" BitMap z ekranu na którym bêdziesz animowa³.
  18. 3. Skopiowaæ dane obrazka do bitmapu utworzonego w punkcie drugim za pomoc±
  19. BltBitMap(). W tym momencie dokona siê p2c i co tam jeszcze potrzebne (w
  20. zale¿no¶ci od g³êboko¶ci docelowej bitmapy).
  21. 4. Teraz bierzemy siê za maskê. Podobnie jak w punkcie drugim rezerwujemy
  22. nowy BitMap o stosownych parametrach, ale (UWAGA!) bez BMF_MINPLANES. Dziêki
  23. temu, nowy bitmap pozostanie planarny.
  24. 5. Kopiujemy maskê - BltBitMap() do bitmapy z punktu czwartego. Przy
  25. odrobinie szczê¶cia wyl±duje ona w fa¶cie.
  26. 6. Pozbywamy siê oryginalnych bitmap z pamiêci.
  27. 7. Od tej chwili blitujesz tylko pos³uguj±c siê tym co powy¿ej stworzy³e¶.
  28.  
  29.  
  30. Wbrew pozorom postêpowanie to jest dosyæ proste w implementacji - ka¿dy
  31. punkt to praktycznie jedna linia kodu. No i zadzia³a równie¿ poprawnie na
  32. komputerach bez CGFX, choæ oczywi¶cie bez zysków prêdko¶ciowych.
  33.  
  34.  
  35. Hej,
  36. Mi³ek
  37. -- 
  38. mailto:thorgal@amiga.com.pl   |  "Man in the Moon and other weird things" -
  39. http://wfmh.org.pl/~thorgal/  |  see it at http://wfmh.org.pl/~thorgal/Moon/
  40.  
  41.  
  42.